package com.tomato.commons.errors;

/**
 * 所有的错误枚举都需要实现该接口
 *
 * @author wangzh
 */
public interface ErrorType {
    /**
     * 异常状态码，推荐以下组合
     * <pre>
     *     前三位为状态码类别,例如200，300，400 ...
     *     中间两位为模块状态 例如 01 02 03 ...
     *     最后三位为自定义异常状态码 例如 01 02 03 ...
     *
     * </pre>
     * @return
     */
    String code();


    /**
     * 异常消息
     * @return
     */
   default String message() {
       return "system error";
   }

    /**
     * 获取国际化模板
     * @return
     */
   default String getTemplate() {
       return null;
   }

    /**
     * 设置国际化模板
     * @return
     */
   default void setTemplate() {}

}
